package com.software.dao.impl;

import java.util.List;

import org.mybatis.spring.SqlSessionTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import com.software.dao.StuMngDao;
import com.software.model.AgentCourseReal;
import com.software.model.AgentStudentReal;
import com.software.model.DrmAgentAllocateReal;
import com.software.model.DrmAgentAmountLog;
import com.software.model.DrmCourse;
import com.software.model.DrmUser;
import com.software.model.PageModel;

@Repository
public class StuMngDaoImpl implements StuMngDao {

	@Autowired
	private SqlSessionTemplate sqlSessionTemplate;

	/**
	 * 注册学员
	 */
	@Override
	public int insertUser(DrmUser user){
		 return sqlSessionTemplate.insert("stu.mng.insert_student", user);
		
	}
	/**
	 * 注册 代理商 学员 关系
	 */
	@Override
	public int insertAgentUserReal(AgentStudentReal real){
		return sqlSessionTemplate.insert("stu.mng.insert_agent_student_real", real);
		
	}
	
	@Override
	public int insertDrmAgentAmountLog(DrmAgentAmountLog log){
		return sqlSessionTemplate.insert("stu.mng.insert_agent_amount_log", log);
		
	}
	/**
	 * 查询学员列表 根据代理商
	 */
	@Override
	public List<DrmUser> qureyUserList(DrmUser user){
		return sqlSessionTemplate.selectList("stu.mng.search_user_by_agentId", user);
	}
	
	/**
	 * 注册 代理商 学员 课程 三者关系
	 */
	@Override
	public int insertAgentThridRealg(DrmAgentAllocateReal real){
		return sqlSessionTemplate.insert("stu.mng.insert_third_real", real);
		
	}
	
	/**
	 * 查下代理商下的课程
	 */
	@Override
	public List<DrmCourse> qureyCourseList(DrmUser user) {
		return sqlSessionTemplate.selectList("stu.mng.search_course_by_agentId", user);
	}
	
	/**
	 * 查下代理商下的课程价格
	 */
	@Override
	public List<AgentCourseReal> qureyCourseObjt(AgentCourseReal real) {
		return sqlSessionTemplate.selectList("stu.mng.search_coursePrice", real);
	}
	
	/**
	 * 查询代理商预存款
	 */
	@Override
	public Long qureyAgentAmount(Long agentID){
		return sqlSessionTemplate.selectOne("stu.mng.search_agent_amount", agentID);
	}
	
	/**
	 * 更新代理商预存款
	 */
	public int updateAmout(DrmAgentAmountLog userAmount){
		return sqlSessionTemplate.update("stu.mng.update-agent_amount", userAmount);
		
	}
	
	
	/**
	 * 学员管理页面list
	 */
	@Override
	public List<DrmAgentAllocateReal> qureyCoursedetails(PageModel model){
		return sqlSessionTemplate.selectList("stu.mng.search_course_detailsList", model);
	}
	
	
	/**
	 * 学员管理页面cnt
	 */
	@Override
	public Long qureyCoursedetailsCnt(PageModel model){
		return sqlSessionTemplate.selectOne("stu.mng.search_course_details_cnt", model);
	}
	
	/**
	 * 代理商购买课程log
	 */
	public List<DrmAgentAmountLog> qureyAmountLogList(Long userId){
		return sqlSessionTemplate.selectList("stu.mng.search_agent_amount_log", userId);
		
	}
	
}
